package com.ruoyi.application.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.application.domain.Application;
import com.ruoyi.application.domain.ResultVo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 申请列表Service接口
 *
 * @author ruoyi
 * @date 2024-10-17
 */
public interface IApplicationService extends IService<Application> {
    /**
     * 查询申请列表
     *
     * @param id 申请列表主键
     * @return 申请列表
     */
    Application selectApplicationById(Long id);

    /**
     * 查询申请列表列表
     *
     * @param application 申请列表
     * @return 申请列表集合
     */
    List<Application> selectApplicationList(Application application);

    /**
     * 新增申请列表
     *
     * @param application 申请列表
     * @return 结果
     */
    int insertApplication(HttpServletRequest request, Application application) throws Exception;

    /**
     * 修改申请列表
     *
     * @param application 申请列表
     * @return 结果
     */
    int updateApplication(Application application);

    /**
     * 批量删除申请列表
     *
     * @param ids 需要删除的申请列表主键集合
     * @return 结果
     */
    int deleteApplicationByIds(Long[] ids);

    /**
     * 删除申请列表信息
     *
     * @param id 申请列表主键
     * @return 结果
     */
    int deleteApplicationById(Long id);

    int pass(Application application);

    int refuse(Application application);

    ResultVo getResult(Application application);
}
